package com.ymh.spring.learn.model.singleton;

/***
 * 
 * 名称：Singleton2<br/>
 * 描述：单例模式-懒汉式,线程安全（通过加锁实现线程安全）<br/>
 * 创建时间：2018年4月4日 下午5:13:53 <br/>
 * 
 * @author aivin
 * @version 1.0.0
 */
public class Singleton2 {

	/**
	 * 创建一个本类的成员变量
	 */
	private static Singleton2 singleton;

	/**
	 * 私有化构造函数
	 */
	private Singleton2() {
	}

	/**
	 * 通过静态方法向外界提供该类的唯一实例
	 * 
	 * <h4>功能：通过加synchronized实现单例，保证线程安全</h4>
	 * 
	 * @return
	 */
	public static synchronized Singleton2 getInstance() {
		if (singleton == null) {
			singleton = new Singleton2();
		}
		return singleton;
	}

}
